home *** CD-ROM | disk | FTP | other *** search
- package com.extensibility.xml;
-
- import com.extensibility.util.Debug;
- import com.extensibility.util.FilteredEnumerator;
- import com.extensibility.util.HashVector;
- import com.extensibility.util.StringUtilities;
- import com.extensibility.util.XASet;
- import com.extensibility.xml.dt.DataType;
- import com.extensibility.xml.dt.DataTypeEnumeration;
- import com.extensibility.xml.dt.DataTypeIntf;
- import java.io.IOException;
- import java.io.Writer;
- import java.util.Enumeration;
- import java.util.Hashtable;
- import java.util.Vector;
-
- public class Schema implements SchemaIntf {
- CommentList comments;
- FirstNameHashtable notations;
- FirstNameHashtable parameterEntities;
- FirstNameHashtable generalEntities;
- FirstNameHashtable elements;
- FirstNameHashtable namespaces;
- FirstNameHashtable datatypes;
- final UnknownOwnerList unknownOwnerList = new UnknownOwnerList(this);
- final HashVectors unknownModelGroups = new HashVectors();
- final HashVectors unknownAttrGroups = new HashVectors();
- Vector declarations;
- Vector parseErrors;
- ExternalSubset documentStructure;
- URI baseURI;
- URI baseNamespace;
- String schemaPrefix;
- SchemaFlavorIntf flavor;
- URIResolver moduleResolver;
- MetaPropHash metaProps = new MetaPropHash();
- boolean printValidatedBy = false;
- boolean showErrors = false;
- HashVector refRegistry = new HashVector();
- HashVector prefixRegistry = new HashVector();
- Hashtable nsSchemas = new Hashtable();
- String encoding;
- String schemaPath = null;
-
- public Schema(URI var1, String var2) {
- this.baseURI = var1;
- this.init(var2);
- this.setFlavor(var2);
- }
-
- private void init(String var1) {
- this.documentStructure = new ExternalSubset((ExternalSubset)null, var1, this.baseURI, (URI)null);
- this.notations = new FirstNameHashtable(this, Class.forName("com.extensibility.xml.NotationDeclaration"));
- this.parameterEntities = new FirstNameHashtable(this, Class.forName("com.extensibility.xml.ParameterEntityDeclaration"));
- this.generalEntities = new FirstNameHashtable(this, Class.forName("com.extensibility.xml.GeneralEntityDeclaration"));
- this.elements = new FirstNameHashtable(this, Class.forName("com.extensibility.xml.ElementDeclaration"));
- this.namespaces = new FirstNameHashtable(this, Class.forName("com.extensibility.xml.NamespaceDeclaration"));
- this.datatypes = new FirstNameHashtable(this, Class.forName("com.extensibility.xml.DataTypeDeclaration"));
- this.declarations = new Vector();
- this.parseErrors = new Vector();
- this.comments = new CommentList();
- }
-
- public void setEncoding(String var1) {
- this.encoding = var1;
- }
-
- public String getEncoding() {
- return this.encoding;
- }
-
- public static boolean flavorExists(String var0) {
- return var0 == null ? false : FlavorRegistry.getDefaultRegistry().flavorExists(var0);
- }
-
- public String getFlavorName() {
- return this.getFlavor().getFlavorName();
- }
-
- public SchemaFlavorIntf getFlavor() {
- return this.flavor;
- }
-
- private void setFlavor(SchemaFlavorIntf var1) {
- this.flavor = var1;
- if (this.documentStructure != null) {
- this.documentStructure.setName(this.getFlavorName());
- }
-
- }
-
- public boolean setFlavor(String var1) {
- SchemaFlavorIntf var2 = FlavorRegistry.getDefaultRegistry().createFlavor(this, var1);
- if (var2 == null) {
- return false;
- } else {
- this.setFlavor(var2);
- return true;
- }
- }
-
- public void setSchemaPath(String var1) {
- this.schemaPath = var1;
- }
-
- public String getSchemaPath() {
- return this.schemaPath;
- }
-
- public Vector getSchemaPaths() {
- if (this.schemaPath == null) {
- return new Vector();
- } else {
- String var1 = System.getProperty("path.separator");
- Vector var2 = StringUtilities.extract(this.schemaPath, var1);
- return var2;
- }
- }
-
- public URI getURI() {
- return this.baseURI;
- }
-
- public URI getNamespace() {
- return this.baseNamespace;
- }
-
- public void setNamespace(URI var1) {
- this.baseNamespace = var1;
- }
-
- public String getSchemaPrefix() {
- return this.schemaPrefix;
- }
-
- public void setSchemaPrefix(String var1) {
- this.schemaPrefix = var1;
- }
-
- public void setModuleURIResolver(URIResolver var1) {
- this.moduleResolver = var1;
- }
-
- public URI resolveModuleURI(URI var1) {
- return this.moduleResolver == null ? null : this.moduleResolver.resolve(var1);
- }
-
- public void checkContentModel(String var1, String var2, boolean var3) throws ParserException {
- this.getFlavor().checkContentModel(var1, var2, var3);
- }
-
- public void updateContentModel(ContentModelOwner var1, String var2, boolean var3) throws ParserException {
- this.getFlavor().updateContentModel(var1, var2, var3);
- }
-
- public void checkAttributeGroup(String var1, String var2) throws ParserException {
- this.getFlavor().checkAttributeGroup(var1, var2);
- }
-
- public boolean updateAttributeGroup(AttributeDeclaration.Owner var1, String var2) throws ParserException {
- Vector var3 = var1.getAttributeGroup().getMembers();
- boolean var4 = this.getFlavor().updateAttributeGroup(var1, var2);
- Enumeration var5 = var3.elements();
-
- while(var5.hasMoreElements()) {
- Object var6 = var5.nextElement();
- if (var6 instanceof AttributeDeclaration) {
- this.removeDeclaration((AttributeDeclaration)var6);
- }
- }
-
- var5 = var1.getAttributeGroup().getAttributes(false);
-
- while(var5.hasMoreElements()) {
- Object var8 = var5.nextElement();
- if (var8 instanceof AttributeDeclaration) {
- this.insertDeclaration((AttributeDeclaration)var8, (BaseDeclaration)null);
- }
- }
-
- return var4;
- }
-
- public boolean createAttributeGroup(InternalPEDeclaration var1) throws ParserException {
- if (var1.getAttributeGroup() == null) {
- var1.setAttributes(new AttributeGroup(var1));
- }
-
- return this.getFlavor().updateAttributeGroup(var1, ((EntityDeclaration)var1).getValue());
- }
-
- private FirstNameHashtable getDeclHash(Object var1) {
- if (var1 instanceof ElementDeclaration) {
- return this.elements;
- } else if (var1 instanceof NotationDeclaration) {
- return this.notations;
- } else if (var1 instanceof GeneralEntityDeclaration) {
- return this.generalEntities;
- } else if (var1 instanceof ParameterEntityDeclaration) {
- return this.parameterEntities;
- } else if (var1 instanceof NamespaceDeclaration) {
- return this.namespaces;
- } else {
- return var1 instanceof DataTypeDeclaration ? this.datatypes : null;
- }
- }
-
- private int indexOfLastAttributeOf(AttributeDeclaration.Owner var1) {
- if (var1 instanceof UnknownOwner) {
- return this.declarations.size() - 1;
- } else {
- int var2;
- for(var2 = this.declarations.indexOf(var1) + 1; var2 < this.declarations.size() && this.declarations.elementAt(var2) instanceof AttributeDeclaration && ((AttributeDeclaration)this.declarations.elementAt(var2)).getOwner() == var1; ++var2) {
- }
-
- --var2;
- return var2;
- }
- }
-
- public CommentList getCommentList(URI var1) {
- if (var1.equals(this.getURI())) {
- return this.comments;
- } else {
- ExternalSubset var2 = this.getStructure().findParent(var1);
- Debug.assert(var2 != null, String.valueOf("unable to locate uri: ").concat(String.valueOf(var1.getFullName())));
- return var2.getModuleComments();
- }
- }
-
- public void setComments(URI var1, Vector var2) {
- if (var1 != null && !var1.equals(this.getURI())) {
- ExternalSubset var3 = this.getStructure().findParent(var1);
- Debug.assert(var3 != null, String.valueOf("unable to locate uri: ").concat(String.valueOf(var1.getFullName())));
- var3.setModuleComments(var2);
- } else if (this.comments == null) {
- this.comments = new CommentList(var2);
- } else {
- this.comments.setComments(var2);
- }
-
- }
-
- public void addComment(Comment var1) {
- if (this.comments == null) {
- this.comments = new CommentList();
- }
-
- this.comments.addComment(var1);
- }
-
- public Enumeration getComments() {
- return this.comments.getComments();
- }
-
- public void addError(ParserException var1) {
- this.parseErrors.addElement(var1);
- }
-
- public Vector getParseErrors() {
- return this.parseErrors;
- }
-
- public void clearAllParseErrors() {
- this.parseErrors = new Vector();
- }
-
- public void clearParseErrorsWithURI(URI var1) {
- for(int var2 = this.parseErrors.size() - 1; var2 >= 0; --var2) {
- URI var3 = ((ParserException)this.parseErrors.elementAt(var2)).getURI();
- if (var3.equals(var1)) {
- this.parseErrors.removeElementAt(var2);
- }
- }
-
- }
-
- public String expandPERefs(String var1, BaseDeclaration var2) {
- StringBuffer var3 = new StringBuffer();
-
- for(int var4 = 0; var4 < var1.length(); ++var4) {
- if (var1.charAt(var4) != '%') {
- var3.append(var1.charAt(var4));
- } else {
- int var5;
- for(var5 = var4 + 1; var5 < var1.length() && DTDParser.isNameChar(var1.charAt(var5)); ++var5) {
- }
-
- String var6 = var1.substring(var4 + 1, var5);
- ParameterEntityDeclaration var7 = this.getNamedParameterEntity(var6);
- String var8 = var7 == null ? String.valueOf(String.valueOf('%').concat(String.valueOf(var6))).concat(String.valueOf(';')) : this.getNamedParameterEntity(var6).getValue();
- var3.append(var8);
- if (var5 < var1.length() && var1.charAt(var5) == ';') {
- ++var5;
- }
-
- var4 = var5--;
- }
- }
-
- return var3.toString();
- }
-
- public Enumeration getIncludedModules(URI var1) {
- return this.getStructure().findParent(var1).children();
- }
-
- public Enumeration getForeignDeclarations(Class var1) {
- Vector var2 = new Vector();
- Enumeration var3 = this.getDeclarations(Class.forName("com.extensibility.xml.NamespaceDeclaration"));
-
- while(var3.hasMoreElements()) {
- NamespaceDeclaration var4 = (NamespaceDeclaration)var3.nextElement();
-
- try {
- Enumeration var5 = this.getNamedSchema(((BaseDeclaration)var4).getName()).getDeclarations(Class.forName("com.extensibility.xml.ElementDeclaration"));
-
- while(var5.hasMoreElements()) {
- var2.addElement(var5.nextElement());
- }
- } catch (Exception var6) {
- }
- }
-
- return var2.elements();
- }
-
- public Enumeration getElementDeclarations() {
- return new FilteredEnumerator(this.getDeclarations(), Class.forName("com.extensibility.xml.ElementDeclaration"));
- }
-
- public Enumeration getDeclarations() {
- return this.declarations.elements();
- }
-
- public Enumeration getDeclarations(Class var1) {
- return new FilteredEnumerator(this.getDeclarations(), var1);
- }
-
- public Enumeration getDeclarations(URI var1, Class var2) {
- return new FilteredEnumerator(this.getDeclarations(), new 1(var1, var2, (Schema)null));
- }
-
- public Enumeration getDeclarations(URI var1, boolean var2) {
- return new FilteredEnumerator(this.getDeclarations(), new 2(var1, var2, this));
- }
-
- public int getElementCount() {
- return this.elements.size();
- }
-
- public int getCount() {
- return this.declarations.size();
- }
-
- public String getContentModelAsString(ContentModelOwner var1) {
- ContentModel var2 = var1.getContentModel();
- return var2 == null ? "" : ((ContentModelTerm)var2).getSource(false);
- }
-
- public ElementDeclaration[] getAllowedElements(ElementDeclaration var1) {
- XASet var2 = new XASet();
- this.getAllowedElements(var1.getEffectiveModel(), var2);
- ElementDeclaration[] var3 = new ElementDeclaration[((Vector)var2).size()];
-
- for(int var4 = 0; var4 < var3.length; ++var4) {
- var3[var4] = (ElementDeclaration)((Vector)var2).elementAt(var4);
- }
-
- return var3;
- }
-
- protected void getAllowedElements(ContentModelTerm var1, XASet var2) {
- ContentModelTermEnum var3 = var1.getLeafTerms();
-
- while(var3.hasMoreElements()) {
- ContentModelTerm var4 = var3.nextContentModelTerm();
- CMTReferent var5 = var4.getReferent();
- if (var5 instanceof ElementDeclaration) {
- var2.addToSet(var5);
- }
- }
-
- }
-
- public BaseDeclaration getIndDeclaration(int var1) {
- return (BaseDeclaration)this.declarations.elementAt(var1);
- }
-
- public BaseDeclaration getDeclarationAfter(BaseDeclaration var1) {
- int var2 = this.declarations.indexOf(var1);
- if (var2 < this.declarations.size() - 1) {
- return (BaseDeclaration)this.declarations.elementAt(var2 + 1);
- } else if (var2 == this.declarations.size() - 1) {
- return null;
- } else {
- Debug.assert(var2 >= 0, "The decl is not in Schema");
- return null;
- }
- }
-
- public BaseDeclaration getDeclarationBefore(BaseDeclaration var1) {
- int var2 = this.declarations.indexOf(var1);
- if (var2 == 0) {
- return null;
- } else if (var2 > 0) {
- return (BaseDeclaration)this.declarations.elementAt(var2 - 1);
- } else {
- Debug.assert(var2 >= 0, "The decl is not in Schema");
- return null;
- }
- }
-
- public BaseDeclaration getNamedDeclaration(String var1, Class var2) {
- if (var2 == Class.forName("com.extensibility.xml.ElementDeclaration")) {
- return this.elements.get(var1);
- } else if (var2 == Class.forName("com.extensibility.xml.NamespaceDeclaration")) {
- return this.namespaces.get(var1);
- } else if (var2 == Class.forName("com.extensibility.xml.DataTypeDeclaration")) {
- return this.datatypes.get(var1);
- } else if (var2 == Class.forName("com.extensibility.xml.ParameterEntityDeclaration")) {
- return this.parameterEntities.get(var1);
- } else if (var2 == Class.forName("com.extensibility.xml.InternalPEDeclaration")) {
- ParameterEntityDeclaration var9 = (ParameterEntityDeclaration)this.parameterEntities.get(var1);
- return var9 == null ? null : (((EntityDeclaration)var9).isInternal() ? var9 : null);
- } else if (var2 == Class.forName("com.extensibility.xml.ExternalPEDeclaration")) {
- ParameterEntityDeclaration var8 = (ParameterEntityDeclaration)this.parameterEntities.get(var1);
- return var8 == null ? null : (((EntityDeclaration)var8).isInternal() ? null : var8);
- } else if (var2 == Class.forName("com.extensibility.xml.GeneralEntityDeclaration")) {
- return this.generalEntities.get(var1);
- } else if (var2 == Class.forName("com.extensibility.xml.InternalGEDeclaration")) {
- GeneralEntityDeclaration var7 = (GeneralEntityDeclaration)this.generalEntities.get(var1);
- return var7 == null ? null : (((EntityDeclaration)var7).isInternal() ? var7 : null);
- } else if (var2 == Class.forName("com.extensibility.xml.ExternalGEDeclaration")) {
- GeneralEntityDeclaration var6 = (GeneralEntityDeclaration)this.generalEntities.get(var1);
- return var6 == null ? null : (((EntityDeclaration)var6).isInternal() ? null : var6);
- } else if (var2 == Class.forName("com.extensibility.xml.ExternalSubset")) {
- return this.getStructure().findNamedChild(var1);
- } else {
- FilteredEnumerator var3 = new FilteredEnumerator(this.getDeclarations(), var2);
- boolean var4 = false;
-
- while(var3.hasMoreElements()) {
- BaseDeclaration var5 = (BaseDeclaration)var3.nextElement();
- if (var2.isInstance(var5) && var5.getName().equals(var1)) {
- return var5;
- }
- }
-
- return null;
- }
- }
-
- public ElementDeclaration getNamedElement(String var1) {
- return (ElementDeclaration)this.elements.get(var1);
- }
-
- public AttributeDeclaration getNamedAttribute(String var1, String var2) {
- if (var1 == null) {
- var1 = "";
- }
-
- for(int var3 = 0; var3 < this.declarations.size(); ++var3) {
- BaseDeclaration var4 = this.getIndDeclaration(var3);
- if (var4 instanceof AttributeDeclaration) {
- AttributeDeclaration var5 = (AttributeDeclaration)var4;
- if (((BaseDeclaration)var5).getName().equals(var2) && var5.getOwner().getName().equals(var1)) {
- return var5;
- }
- }
- }
-
- return null;
- }
-
- public NamespaceDeclaration getNamedNamespace(String var1) {
- return (NamespaceDeclaration)this.namespaces.get(var1);
- }
-
- public DataTypeDeclaration getNamedDataType(String var1) {
- return (DataTypeDeclaration)this.datatypes.get(var1);
- }
-
- public ParameterEntityDeclaration getNamedParameterEntity(String var1) {
- return (ParameterEntityDeclaration)this.parameterEntities.get(var1);
- }
-
- public GeneralEntityDeclaration getNamedGeneralEntity(String var1) {
- return (GeneralEntityDeclaration)this.generalEntities.get(var1);
- }
-
- public ContentModelOwner getNamedContentModelOwner(String var1) {
- ElementDeclaration var2 = this.getNamedElement(var1);
- if (var2 != null) {
- return var2;
- } else {
- var1 = DTDUtilities.convertPEName(var1, false);
- ParameterEntityDeclaration var3 = this.getNamedParameterEntity(var1);
- return var3 != null && var3.getContentModel() != null ? (InternalPEDeclaration)var3 : null;
- }
- }
-
- BaseDeclaration getIndDecl(int var1) {
- return var1 == this.declarations.size() ? null : (BaseDeclaration)this.declarations.elementAt(var1);
- }
-
- public BaseDeclaration getNextDeclaration(BaseDeclaration var1) {
- return this.getIndDecl(this.declarations.indexOf(var1) + 1);
- }
-
- public ExternalSubset getStructure() {
- return this.documentStructure;
- }
-
- public void setStructure(ExternalSubset var1) {
- this.documentStructure = var1;
- }
-
- public void parse(URI var1, int var2, Object var3) throws IOException {
- this.getFlavor().parse(var1, var1, var2, var3);
- }
-
- public void parse(URI var1, URI var2, int var3, Object var4) throws IOException {
- this.getFlavor().parse(var1, var2, var3, var4);
- }
-
- public ElementDeclaration getRoot(boolean var1) {
- if (!var1) {
- return null;
- } else {
- Enumeration var2 = this.getDeclarations(Class.forName("com.extensibility.xml.ElementDeclaration"));
- return var2.hasMoreElements() ? this.findParent((ElementDeclaration)var2.nextElement()) : null;
- }
- }
-
- protected ElementDeclaration findParent(ElementDeclaration var1) {
- return var1;
- }
-
- public void removeAllDeclarations() {
- this.init(this.getFlavor().getFlavorName());
- }
-
- public void moveDeclaration(BaseDeclaration var1, BaseDeclaration var2) {
- FirstNameHashtable var3 = this.getDeclHash(var1);
- BaseDeclaration var4 = var3 == null ? null : var3.get(var1.getName());
- int var5 = this.getInsertPosition(var1, var2);
- int var6 = this.declarations.indexOf(var1);
- if (!this.checkPositionForURI(var1.getURI(), var5)) {
- throw new IllegalArgumentException(String.valueOf("checkPosition failed with moveTo = ").concat(String.valueOf(var5)));
- } else {
- int var7 = 1;
-
- for(int var8 = 0; var8 < this.declarations.size() && var1.isSubordinate(this.getIndDecl(var8)); ++var8) {
- ++var7;
- }
-
- BaseDeclaration[] var9 = new BaseDeclaration[var7];
-
- for(int var10 = var6; var10 < var6 + var7; ++var10) {
- var9[var10 - var6] = this.getIndDecl(var10);
- }
-
- if (var6 < var5) {
- for(int var11 = var6 + var7; var11 <= var5; ++var11) {
- this.declarations.setElementAt(this.getIndDecl(var11), var11 - var7);
- }
-
- var5 -= var7;
- } else if (var6 > var5) {
- for(int var13 = var6 - 1; var13 >= var5; --var13) {
- this.declarations.setElementAt(this.getIndDecl(var13), var13 + var7);
- }
- }
-
- for(int var14 = var5; var14 < var5 + var7; ++var14) {
- this.declarations.setElementAt(var9[var14 - var5], var14);
- }
-
- if (var3 != null) {
- var3.remove(var1);
- var3.put(var1);
- BaseDeclaration var12 = var3.get(var1.getName());
- if (var12 != var4) {
- this.updateReferences(var4, var12);
- }
- }
-
- }
- }
-
- public void insertDeclaration(AttributeDeclaration var1, BaseDeclaration var2, AttributeDeclaration.Owner var3) {
- if (var3 == null) {
- var3 = this.unknownOwnerList.createUnknownOwner("");
- var3.add(var1);
- }
-
- var1.setOwner(var3);
- this.insertDeclaration(var1, var2);
- }
-
- public void insertDeclaration(BaseDeclaration var1, BaseDeclaration var2, String var3) {
- var1.setName(var3);
- this.insertDeclaration(var1, var2);
- }
-
- public void setDeclarationOwner(AttributeDeclaration var1, String var2) {
- AttributeDeclaration.Owner var3 = this.unknownOwnerList.createUnknownOwner(var2);
- this.setDeclarationOwner(var1, var3);
- }
-
- public void setDeclarationOwner(AttributeDeclaration var1, AttributeDeclaration.Owner var2) {
- boolean var3 = false;
- AttributeDeclaration.Owner var4 = var1.getOwner();
- Debug.assert(var2 != null, "new owner may not be null");
- if (var4 != var2) {
- if (var4 != null) {
- this.removeDeclaration(var1);
- }
-
- var1.setOwner(var2);
- var2.add(var1);
- this.insertDeclaration(var1, (BaseDeclaration)null);
- }
- }
-
- public void setDeclarationName(BaseDeclaration var1, String var2, boolean var3) {
- String var4 = var1.getName();
- if (!var4.equals(var2)) {
- FirstNameHashtable var5 = this.getDeclHash(var1);
- if (var5 != null) {
- var5.remove(var1);
- }
-
- var1.setName(var2);
- if (var5 != null) {
- var5.put(var1);
- }
-
- if (var1 instanceof ExternalPEDeclaration) {
- ExternalSubset var6 = (ExternalSubset)this.getNamedDeclaration(var4, Class.forName("com.extensibility.xml.ExternalSubset"));
- if (var6 != null) {
- this.setDeclarationName(var6, var2, var3);
- }
- }
-
- if (var1 instanceof NamespaceDeclaration) {
- Vector var11 = this.prefixRegistry.getVector(var4);
-
- for(int var7 = 0; var7 < var11.size(); ++var7) {
- ((DeclRef)var11.elementAt(var7)).setPrefix(var2);
- }
-
- this.prefixRegistry.remove(var4);
- this.prefixRegistry.put(var2, var11);
- Object var8 = this.nsSchemas.get(var4);
- if (var8 != null) {
- this.nsSchemas.remove(var4);
- this.nsSchemas.put(var2, var8);
- }
- }
-
- if (var3 && var1 instanceof DataTypeDeclaration) {
- DeclRef var12 = new DeclRef(var4, var1.getClass());
- Vector var15 = this.refRegistry.getVector(var12);
- if (var15.size() > 0) {
- this.refRegistry.remove(var12);
- }
-
- for(int var18 = 0; var18 < var15.size(); ++var18) {
- ((DeclRef)var15.elementAt(var18)).setName(var2);
- }
-
- if (var15.size() > 0) {
- Object var9 = var15.firstElement();
- this.refRegistry.put(var9, var15);
- }
- }
-
- if (var3 && var1 instanceof ElementDeclaration) {
- DeclRef var13 = new DeclRef(var4, var1.getClass());
- Vector var16 = this.refRegistry.getVector(var13);
- if (var16.size() > 0) {
- this.refRegistry.remove(var13);
- }
-
- for(int var19 = 0; var19 < var16.size(); ++var19) {
- ((DeclRef)var16.elementAt(var19)).setName(var2);
- }
-
- if (var16.size() > 0) {
- Object var20 = var16.firstElement();
- this.refRegistry.put(var20, var16);
- }
-
- TypeRef var14 = new TypeRef(var4);
- var16 = this.refRegistry.getVector(var14);
- if (var16.size() > 0) {
- this.refRegistry.remove(var14);
- }
-
- for(int var21 = 0; var21 < var16.size(); ++var21) {
- ((DeclRef)var16.elementAt(var21)).setName(var2);
- }
-
- if (var16.size() > 0) {
- Object var10 = var16.firstElement();
- this.refRegistry.put(var10, var16);
- }
-
- this.claimAttributes((ElementDeclaration)var1);
- }
-
- if (var1 instanceof InternalPEDeclaration) {
- this.claimModelAndAttrGroups((InternalPEDeclaration)var1);
- }
-
- }
- }
-
- protected void unclaimModelAndAttrGroups(InternalPEDeclaration var1) {
- InternalPEDeclaration var2 = (InternalPEDeclaration)this.getNamedDeclaration(((BaseDeclaration)var1).getName(), Class.forName("com.extensibility.xml.InternalPEDeclaration"));
- boolean var3 = var2 == null;
- if (var1.getContentModel() != null) {
- Object var4;
- if (var2 == null) {
- var4 = new ContentModelTerm(new TypeRef(String.valueOf('%').concat(String.valueOf(((BaseDeclaration)var1).getName()))));
- } else {
- var4 = var2.getContentModel();
- }
-
- ContentModel var5 = var1.getContentModel();
- Enumeration var6 = this.getDeclarations();
-
- while(var6.hasMoreElements()) {
- Object var7 = var6.nextElement();
- if (var7 instanceof ContentModelOwner) {
- ContentModelOwner var8 = (ContentModelOwner)var7;
- if (var8.getContentModel() != null && var8.getContentModel().replace(var1, (ContentModelTerm)var4) && var3) {
- this.unknownModelGroups.add(((BaseDeclaration)var1).getName(), (BaseDeclaration)var7);
- }
- }
- }
- } else if (var1.getAttributeGroup() != null) {
- AttributeGroup var9 = var1.getAttributeGroup();
- AttributeGroup var10;
- if (var2 == null) {
- var10 = new AttributeGroup(new UnknownOwner((Schema)null, String.valueOf('%').concat(String.valueOf(((BaseDeclaration)var1).getName()))));
- } else {
- var10 = var2.getAttributeGroup();
- }
-
- Enumeration var11 = this.getDeclarations();
-
- while(var11.hasMoreElements()) {
- Object var12 = var11.nextElement();
- if (var12 instanceof AttributeDeclaration.Owner) {
- AttributeDeclaration.Owner var13 = (AttributeDeclaration.Owner)var12;
- if (var13.getAttributeGroup() != null && var13.getAttributeGroup().replace(var1, var10) && var3) {
- this.unknownAttrGroups.add(((BaseDeclaration)var1).getName(), (BaseDeclaration)var12);
- }
- }
- }
- }
-
- }
-
- protected void unclaimAttributes(ElementDeclaration var1) {
- }
-
- protected void claimAttributes(ElementDeclaration var1) {
- Enumeration var2 = this.unknownOwnerList.getList();
- Vector var3 = new Vector();
-
- while(var2.hasMoreElements()) {
- UnknownOwner var4 = (UnknownOwner)var2.nextElement();
- AttributeGroupMember var5 = var4.getMember();
- if (var4.getName().equals(((BaseDeclaration)var1).getName())) {
- if (var5 instanceof AttributeDeclaration) {
- this.setDeclarationOwner((AttributeDeclaration)var5, (AttributeDeclaration.Owner)var1);
- } else {
- var1.add(var5);
- }
-
- var3.addElement(var4);
- }
- }
-
- for(int var6 = 0; var6 < var3.size(); ++var6) {
- this.unknownOwnerList.remove((UnknownOwner)var3.elementAt(var6));
- }
-
- }
-
- protected void createModelGroup(InternalPEDeclaration var1) throws ParserException {
- if (var1.getContentModel() == null) {
- var1.createContentModel();
- }
-
- String var2 = ((EntityDeclaration)var1).getValue().trim();
- boolean var3 = var2.equals("ANY") || var2.equals("EMPTY");
- this.updateContentModel(var1, var2, var3);
- }
-
- protected void claimModelAndAttrGroups(InternalPEDeclaration var1) {
- Enumeration var2 = this.unknownModelGroups.get(((BaseDeclaration)var1).getName()).elements();
- if (var2.hasMoreElements() && var1.getContentModel() == null) {
- try {
- this.createModelGroup(var1);
- } catch (ParserException var5) {
- return;
- }
- }
-
- while(var2.hasMoreElements()) {
- this.claimModelGroup(var1, ((ContentModelOwner)var2.nextElement()).getContentModel());
- }
-
- this.unknownModelGroups.remove(((BaseDeclaration)var1).getName());
- var2 = this.unknownAttrGroups.get(((BaseDeclaration)var1).getName()).elements();
- if (var2.hasMoreElements() && var1.getAttributeGroup() == null) {
- try {
- this.createAttributeGroup(var1);
- } catch (ParserException var4) {
- return;
- }
- }
-
- while(var2.hasMoreElements()) {
- this.claimAttrGroup(var1, ((AttributeDeclaration.Owner)var2.nextElement()).getAttributeGroup());
- }
-
- this.unknownAttrGroups.remove(((BaseDeclaration)var1).getName());
- }
-
- private void claimAttrGroup(InternalPEDeclaration var1, AttributeGroup var2) {
- if (var2 != null) {
- String var3 = String.valueOf('%').concat(String.valueOf(((BaseDeclaration)var1).getName()));
- Enumeration var4 = var2.getAttributes(false);
-
- while(var4.hasMoreElements()) {
- AttributeGroupMember var5 = (AttributeGroupMember)var4.nextElement();
- if (var5.getName().equals(var3)) {
- var2.replace(var5, var1.getAttributeGroup());
- } else if (var5 instanceof AttributeGroup) {
- this.claimAttrGroup(var1, (AttributeGroup)var5);
- }
- }
-
- }
- }
-
- private void claimModelGroup(InternalPEDeclaration var1, ContentModel var2) {
- if (var2 != null) {
- String var3 = String.valueOf('%').concat(String.valueOf(((BaseDeclaration)var1).getName()));
- var2.visitTerms(new 3(var3, var1, (Schema)null), false);
- }
- }
-
- private URI getBaseURI() {
- return this.baseURI;
- }
-
- public AttributeDeclaration.Owner createUnknownOwner(String var1) {
- return this.unknownOwnerList.createUnknownOwner(var1);
- }
-
- private int indexAfterFirstBlock(URI var1, Class var2) {
- boolean var3 = false;
- int var4 = -1;
-
- for(int var5 = 0; var5 < this.declarations.size(); ++var5) {
- BaseDeclaration var6 = (BaseDeclaration)this.declarations.elementAt(var5);
- URI var7 = var6.getURI();
- if (var6 instanceof ExternalSubset) {
- var7 = ((ExternalSubset)var6).getSystemURI();
- }
-
- if (var1.equals(var7)) {
- var4 = var5;
- if (var2.isInstance(var6)) {
- var3 = true;
- } else if (var3) {
- return var5;
- }
- }
- }
-
- return var4 + 1;
- }
-
- public URI getSchemaLoc(NamespaceDeclaration var1) {
- URI var2 = this.getFlavor().getSchemaLoc(var1);
- var2 = var2 == null ? null : new URI(this.getURI(), var2.toSource());
- return var2;
- }
-
- public SchemaIntf getNamedSchema(String var1) throws Exception {
- SchemaIntf var2 = (SchemaIntf)this.nsSchemas.get(var1);
- if (var2 != null) {
- return var2;
- } else {
- NamespaceDeclaration var3 = this.getNamedNamespace(var1);
- if (var3 == null) {
- return null;
- } else {
- URI var4 = this.getSchemaLoc(var3);
- if (var4 == null) {
- return null;
- } else {
- var4 = this.flavor.resolveLogical(var4, true);
- String var5 = SchemaUtilities.flavorConvertsTo(this.getFlavorName());
- if (var5 != null && var5.equals("xsd")) {
- String var6 = SchemaUtilities.getFlavor(var4, true);
- if (var6 == null) {
- URI var7 = URI.makeStringURI("");
- var2 = new Schema(var4, this.getFlavorName());
- var2.parse(var7, var2.getCount(), (Object)null);
- var2.setFlavor(var5);
- this.nsSchemas.put(var1, var2);
- return var2;
- }
-
- if (!var6.equals(var5)) {
- var2 = new Schema(var4, var6);
- var2.parse(var4, var2.getCount(), (Object)null);
- var2.setFlavor(var5);
- this.nsSchemas.put(var1, var2);
- return var2;
- }
- }
-
- var2 = new Schema(var4, this.getFlavorName());
- var2.parse(var4, var2.getCount(), (Object)null);
- this.nsSchemas.put(var1, var2);
- return var2;
- }
- }
- }
- }
-
- private int indexParameterEntityBlock(URI var1, URI var2) {
- Class var3 = Class.forName("com.extensibility.xml.ParameterEntityDeclaration");
- int var4 = -1;
- int var5 = -1;
- int var6 = -1;
- int var7 = -1;
-
- for(int var8 = 0; var8 < this.declarations.size(); ++var8) {
- BaseDeclaration var9 = (BaseDeclaration)this.declarations.elementAt(var8);
- if (!var9.getURI().equals(var1)) {
- if (var9 instanceof ExternalSubset) {
- ExternalSubset var10 = (ExternalSubset)var9;
- if (var10.getSystemURI().equals(var1)) {
- var4 = var8 + 1;
- }
- }
- } else {
- var7 = var8;
- if (var2 == null || !(var9 instanceof ParameterEntityDeclaration) || !var2.equals(((ParameterEntityDeclaration)var9).getSystemID())) {
- if (var5 == -1 && var9 instanceof ParameterEntityDeclaration) {
- var5 = var8;
- }
-
- if (var2 != null && var9 instanceof ExternalSubset && var2.equals(((ExternalSubset)var9).getSystemURI())) {
- var6 = var8;
- }
- }
- }
- }
-
- if (var6 > -1) {
- return var6;
- } else if (var5 > -1) {
- return var5;
- } else if (var4 > -1) {
- return var4;
- } else {
- return var7 + 1;
- }
- }
-
- private int getFirstIndex(URI var1) {
- if (var1.equals(this.getURI())) {
- return 0;
- } else {
- for(int var2 = 0; var2 < this.getCount(); ++var2) {
- BaseDeclaration var3 = this.getIndDeclaration(var2);
- if (var3 instanceof ExternalSubset && ((ExternalSubset)var3).getSystemURI().equals(var1)) {
- return var2 + 1;
- }
- }
-
- return -1;
- }
- }
-
- private int getLastIndex(URI var1, BaseDeclaration var2, int var3) {
- if (var3 == 0 && var1.equals(this.getURI())) {
- return this.getCount() - 1;
- } else {
- int var4 = -1;
-
- for(int var5 = var3; var5 < this.getCount(); ++var5) {
- BaseDeclaration var6 = this.getIndDeclaration(var5);
- if (var6.getURI().equals(var1) && var6 != var2) {
- if (var6 instanceof ExternalSubset) {
- var5 = this.getLastIndex(((ExternalSubset)var6).getSystemURI(), (BaseDeclaration)null, var5);
- }
-
- var4 = var5;
- } else if (var6 instanceof ExternalSubset && ((ExternalSubset)var6).getSystemURI().equals(var1)) {
- var4 = var5;
- } else if (var4 >= 0) {
- return var4;
- }
- }
-
- return var4;
- }
- }
-
- public boolean isValidPosition(BaseDeclaration var1, BaseDeclaration var2) {
- try {
- this.getInsertPosition(var1, var2);
- boolean var3 = true;
- return var3;
- } catch (IllegalArgumentException var5) {
- boolean var4 = false;
- return var4;
- }
- }
-
- private int getInsertPosition(BaseDeclaration var1, BaseDeclaration var2) {
- if (var1.getURI() == null) {
- var1.setURI(this.baseURI);
- }
-
- URI var4 = var1.getURI();
- int var3;
- if (var2 == null) {
- if (var1 instanceof AttributeDeclaration) {
- AttributeDeclaration var5 = (AttributeDeclaration)var1;
- if (var5.getOwner() != null && !(var5.getOwner() instanceof UnknownOwner) && var4.equals(var5.getOwner().getURI())) {
- var3 = this.indexOfLastAttributeOf(var5.getOwner()) + 1;
- } else {
- var3 = this.getLastIndex(var4, var1, 0) + 1;
- }
- } else if (var1 instanceof GeneralEntityDeclaration) {
- var3 = this.indexAfterFirstBlock(var4, Class.forName("com.extensibility.xml.GeneralEntityDeclaration"));
- } else if (var1 instanceof NamespaceDeclaration) {
- var3 = this.indexAfterFirstBlock(var4, Class.forName("com.extensibility.xml.NamespaceDeclaration"));
- } else if (var1 instanceof DataTypeDeclaration) {
- var3 = this.indexAfterFirstBlock(var4, Class.forName("com.extensibility.xml.DataTypeDeclaration"));
- } else if (var1 instanceof ParameterEntityDeclaration) {
- var3 = this.indexParameterEntityBlock(var4, ((ParameterEntityDeclaration)var1).getSystemID());
- if (var3 == 0) {
- int var9 = this.indexAfterFirstBlock(var4, Class.forName("com.extensibility.xml.GeneralEntityDeclaration"));
- if (var9 > 0) {
- var3 = var9;
- }
- }
- } else if (var1 instanceof NotationDeclaration) {
- var3 = this.indexAfterFirstBlock(var4, Class.forName("com.extensibility.xml.NotationDeclaration"));
- } else if (var1 instanceof ProcessingInstruction) {
- var3 = this.getFirstIndex(var4);
- } else if (var1 instanceof ExternalSubset) {
- ExternalSubset var10 = (ExternalSubset)var1;
- BaseDeclaration var6 = this.getNamedDeclaration(((BaseDeclaration)var10).getName(), Class.forName("com.extensibility.xml.ExternalPEDeclaration"));
- if (var6.getURI().equals(var4)) {
- var3 = this.declarations.indexOf(var6) + 1;
- } else {
- var3 = this.getFirstIndex(var4);
-
- for(int var7 = this.getCount() - 1; var7 > 0; --var7) {
- BaseDeclaration var8 = this.getIndDeclaration(var7);
- if (var8 instanceof ExternalPEDeclaration && var8.getName().equals(((BaseDeclaration)var10).getName()) && var8.getURI().equals(var4)) {
- var3 = var7 + 1;
- }
- }
- }
- } else {
- var3 = this.getLastIndex(var4, var1, 0) + 1;
- }
- } else {
- var3 = this.declarations.indexOf(var2);
- if (var3 == -1) {
- var3 = this.getLastIndex(var4, var1, 0) + 1;
- }
- }
-
- if (!this.checkPositionForURI(var4, var3)) {
- throw new IllegalArgumentException();
- } else {
- return var3;
- }
- }
-
- private boolean checkPositionForURI(URI var1, int var2) {
- return true;
- }
-
- public int insertSubset(ExternalPEDeclaration var1) throws IOException {
- return this.getFlavor().insertSubset(var1);
- }
-
- public void removeSubset(ExternalSubset var1) {
- this.removeSubset(var1, new Vector());
- }
-
- private void removeSubset(ExternalSubset var1, Vector var2) {
- URI var3 = var1.getSystemURI();
- var1.removeFromParent();
- this.removeDeclaration(var1);
- if (!var2.contains(var3)) {
- var2.addElement(var3);
-
- for(int var4 = this.declarations.size() - 1; var4 >= 0; --var4) {
- BaseDeclaration var5 = (BaseDeclaration)this.declarations.elementAt(var4);
- if (var5.getURI().equals(var3)) {
- Debug.assert(var1 != var5, "Removing subset itself!");
- if (var5 instanceof ExternalSubset) {
- if (!((ExternalSubset)var5).getSystemURI().equals(this.getURI())) {
- this.removeSubset((ExternalSubset)var5, var2);
- } else {
- ((ExternalSubset)var5).removeFromParent();
- this.removeDeclaration(var5);
- }
- } else {
- this.removeDeclaration(var5);
- }
-
- if (var4 > this.declarations.size()) {
- var4 = this.declarations.size();
- }
- }
- }
-
- if (this.isSupported("GESTALT_MULTI_INSTANCE_MODULES")) {
- ExternalSubset var8 = this.getStructure().findParent(var1.getSystemURI());
- if (var8 != null) {
- try {
- URI var6 = this.getFlavor().resolveLogical(var8.getSystemURI(), false);
- this.getFlavor().parse(var6, var8.getSystemURI(), this.indexOf(var8) + 1, Boolean.FALSE);
- } catch (IOException var7) {
- }
- }
- }
- }
-
- }
-
- public void insertDeclaration(BaseDeclaration var1, BaseDeclaration var2) {
- if (var1.getURI() == null) {
- var1.setURI(this.baseURI);
- }
-
- int var3 = this.getInsertPosition(var1, var2);
- this.insertDeclaration(var1, var3);
- }
-
- public void updateURI(URI var1, URI var2) {
- if (var1.equals(this.getURI())) {
- this.baseURI = var2;
- }
-
- Enumeration var3 = this.getDeclarations(var1, false);
-
- while(var3.hasMoreElements()) {
- BaseDeclaration var4 = (BaseDeclaration)var3.nextElement();
- var4.setURI(var2);
- }
-
- this.getStructure().updateSystemURIAsNeeded(var1, var2);
- }
-
- public int insertDeclaration(BaseDeclaration var1, int var2) {
- if (var2 - 1 > 0 && var2 < this.declarations.size() && this.declarations.elementAt(var2) instanceof ExternalSubset && this.declarations.elementAt(var2 - 1) instanceof ExternalPEDeclaration && !this.isSupported(Class.forName("com.extensibility.xml.ExternalPEDeclaration"))) {
- --var2;
- }
-
- int var3 = var2 + 1;
- FirstNameHashtable var4 = this.getDeclHash(var1);
- BaseDeclaration var5 = var4 == null ? null : var4.get(var1.getName());
- if (var2 >= this.declarations.size()) {
- this.declarations.addElement(var1);
- var3 = this.declarations.size();
- } else {
- this.declarations.insertElementAt(var1, var2);
- }
-
- var1.setSchema(this);
- if (var1 instanceof AttributeDeclaration) {
- AttributeDeclaration var6 = (AttributeDeclaration)var1;
- if (var6.getOwner() == null) {
- var6.setOwner(this.unknownOwnerList.createUnknownOwner(""));
- }
-
- var6.getOwner().add(var6);
- } else if (var1 instanceof ElementDeclaration) {
- this.claimAttributes((ElementDeclaration)var1);
- } else if (var1 instanceof InternalPEDeclaration) {
- this.claimModelAndAttrGroups((InternalPEDeclaration)var1);
-
- int var8;
- for(var8 = this.indexOf(var1) + 1; var8 < this.getCount(); ++var8) {
- Object var7 = this.declarations.elementAt(var8);
- if (!(var7 instanceof AttributeDeclaration) || ((AttributeDeclaration)var7).getOwner() != var1) {
- break;
- }
- }
-
- var3 = var8;
- }
-
- if (var1 instanceof AttributeDeclaration.Owner) {
- Enumeration var9 = ((AttributeDeclaration.Owner)var1).getOwnedAttributes();
-
- while(var9.hasMoreElements()) {
- AttributeDeclaration var11 = (AttributeDeclaration)var9.nextElement();
- if (this.declarations.indexOf(var11) == -1) {
- this.insertDeclaration(var11, (BaseDeclaration)null);
- var3 = Math.max(var3, this.declarations.indexOf(var11) + 1);
- }
- }
- }
-
- FirstNameHashtable var10 = this.getDeclHash(var1);
- if (var10 != null) {
- var10.put(var1);
- if (var10.get(var1.getName()) != var5) {
- this.updateReferences(var5, var1);
- }
- }
-
- return var3;
- }
-
- protected void updateReferences(BaseDeclaration var1, BaseDeclaration var2) {
- if (var1 instanceof InternalPEDeclaration) {
- InternalPEDeclaration var3 = (InternalPEDeclaration)var1;
- InternalPEDeclaration var4 = (InternalPEDeclaration)var2;
- if (var3.getAttributeGroup() != null) {
- try {
- if (var4.getAttributeGroup() == null) {
- this.createAttributeGroup(var4);
- }
-
- Enumeration var5 = this.getDeclarations();
-
- while(var5.hasMoreElements()) {
- Object var6 = var5.nextElement();
- if (var6 instanceof AttributeDeclaration.Owner) {
- this.updateAttrGroupRef(((AttributeDeclaration.Owner)var6).getAttributeGroup(), var3.getAttributeGroup(), var4.getAttributeGroup());
- }
- }
- } catch (ParserException var8) {
- }
- }
-
- if (var3.getContentModel() != null) {
- try {
- if (var4.getContentModel() == null) {
- this.createModelGroup(var4);
- }
-
- Enumeration var9 = this.getDeclarations();
-
- while(var9.hasMoreElements()) {
- Object var10 = var9.nextElement();
- if (var10 instanceof ContentModelOwner) {
- this.updateModelGroupRef(((ContentModelOwner)var10).getContentModel(), var3.getContentModel(), var4.getContentModel());
- }
- }
- } catch (ParserException var7) {
- }
- }
-
- }
- }
-
- protected void updateAttrGroupRef(AttributeGroup var1, AttributeGroup var2, AttributeGroup var3) {
- if (var1 != null) {
- Enumeration var4 = var1.getAttributes(false);
-
- while(var4.hasMoreElements()) {
- AttributeGroupMember var5 = (AttributeGroupMember)var4.nextElement();
- if (var5 == var2) {
- var1.replace(var5, var3);
- } else if (var5 instanceof AttributeGroup) {
- this.updateAttrGroupRef((AttributeGroup)var5, var2, var3);
- }
- }
-
- }
- }
-
- protected void updateModelGroupRef(ContentModel var1, ContentModelTerm var2, ContentModelTerm var3) {
- if (var1 != null) {
- var1.replace(var2, var3);
- }
- }
-
- public void removeDeclaration(BaseDeclaration var1) {
- FirstNameHashtable var2 = this.getDeclHash(var1);
- BaseDeclaration var3 = var2 == null ? null : var2.get(var1.getName());
- if (var1 instanceof AttributeDeclaration) {
- AttributeDeclaration var4 = (AttributeDeclaration)var1;
-
- try {
- var4.getOwner().remove(var4);
- } catch (IllegalArgumentException var6) {
- }
- }
-
- if (var1 instanceof AttributeDeclaration.Owner) {
- Enumeration var7 = ((AttributeDeclaration.Owner)var1).getOwnedAttributes();
-
- while(var7.hasMoreElements()) {
- AttributeDeclaration var5 = (AttributeDeclaration)var7.nextElement();
- this.removeDeclaration(var5);
- }
- }
-
- if (var2 != null) {
- var2.remove(var1);
- }
-
- int var8 = this.declarations.indexOf(var1);
- Debug.assert(var8 >= 0, String.valueOf("decl not found in declarations: ").concat(String.valueOf(var1.getName())));
- this.declarations.removeElementAt(var8);
- var1.setSchema((SchemaIntf)null);
- if (var1 instanceof InternalPEDeclaration && var3 == var1) {
- this.unclaimModelAndAttrGroups((InternalPEDeclaration)var1);
- }
-
- this.unknownAttrGroups.remove(var1);
- this.unknownModelGroups.remove(var1);
- }
-
- public void bindDeclRef(DeclRef var1) {
- this.refRegistry.put(var1, var1);
- if (var1.getPrefix() != null) {
- this.prefixRegistry.put(var1.getPrefix(), var1);
- }
-
- }
-
- public void releaseDeclRef(DeclRef var1) {
- this.refRegistry.remove(var1, var1);
- if (var1.getPrefix() != null) {
- this.prefixRegistry.remove(var1.getPrefix(), var1);
- }
-
- }
-
- public int indexOf(BaseDeclaration var1) {
- return this.declarations.indexOf(var1);
- }
-
- public void write(Writer var1) throws IOException {
- this.getFlavor().write(var1);
- }
-
- public void write(Writer var1, URI var2) throws IOException {
- this.getFlavor().write(var1, var2);
- }
-
- public Vector checkConversion(String var1) {
- Vector var2 = new Vector();
- if (var1 == null) {
- return var2;
- } else {
- var1 = var1.toLowerCase();
- if (!FlavorRegistry.getDefaultRegistry().flavorExists(var1)) {
- return var2;
- } else if (var1.equals(this.getFlavorName())) {
- return var2;
- } else {
- ConversionScan var3 = new ConversionScan(this, var1);
- var3.scan();
- var2 = var3.getWarnings();
- return var2;
- }
- }
- }
-
- public void checkForErrors(BaseDeclaration var1) {
- this.getFlavor().checkForErrors(var1);
- }
-
- public boolean hasErrors() {
- if (this.parseErrors.size() > 0) {
- return true;
- } else {
- Enumeration var1 = this.getDeclarations();
-
- while(var1.hasMoreElements()) {
- BaseDeclaration var2 = (BaseDeclaration)var1.nextElement();
- if (var2.hasErrors()) {
- return true;
- }
- }
-
- return false;
- }
- }
-
- public boolean isCompleteAndConsistent() {
- return !this.hasErrors() && this.getFlavor().isCompleteAndConsistent();
- }
-
- public void doSecondPassValidation(URI var1) {
- this.getFlavor().doSecondPassValidation(var1);
- }
-
- public String getSourcePreview(BaseDeclaration var1) {
- return this.getFlavor().getSourcePreview(var1);
- }
-
- public BaseExemplar createExemplar() {
- return this.getFlavor().createExemplar(this);
- }
-
- public boolean isSupported(Class var1) {
- return this.getFlavor().isSupported(var1);
- }
-
- public boolean isSupported(String var1) {
- return this.getFlavor().isSupported(var1);
- }
-
- public boolean isValidValue(DataTypeIntf var1, String var2) {
- return this.getFlavor().isValidValue(var1, var2);
- }
-
- public String getDataTypeDisplay(DataTypeIntf var1) {
- return var1 instanceof DataTypeDeclaration ? ((DataTypeDeclaration)var1).getName() : this.getFlavor().getDataTypeDisplay(var1);
- }
-
- public String getDataTypeSource(DataTypeIntf var1) {
- return var1 instanceof DataTypeDeclaration ? ((DataTypeDeclaration)var1).getName() : this.getFlavor().getDataTypeSource(var1);
- }
-
- public String getBaseTypeDisplay(DataTypeIntf var1) {
- return this.getFlavor().getBaseTypeDisplay(var1);
- }
-
- public String getBaseTypeSource(DataTypeIntf var1) {
- return this.getFlavor().getBaseTypeSource(var1);
- }
-
- public boolean isKnownDisplay(String var1) {
- return this.getNamedDataType(var1) != null ? true : this.getFlavor().isKnownDisplay(var1);
- }
-
- public DataType createDataTypeFromDisplay(String var1) {
- if (this.getNamedDataType(var1) != null) {
- try {
- DataType var2 = (DataType)this.getNamedDataType(var1).getDataType().clone();
- if (var2 != null) {
- var2 = (DataType)var2.clearFacets();
- }
-
- return var2;
- } catch (Exception var4) {
- Object var3 = null;
- return (DataType)var3;
- }
- } else {
- return this.getFlavor().createDataTypeFromDisplay(var1);
- }
- }
-
- public DataTypeEnumeration getAllTypes() {
- return this.getFlavor().getAllTypes();
- }
-
- public DataTypeEnumeration getSimpleTypes() {
- return this.getFlavor().getSimpleTypes();
- }
-
- public DataTypeEnumeration getPrimitiveTypes() {
- return this.getFlavor().getPrimitiveTypes();
- }
-
- public DataTypeEnumeration getOtherTypes() {
- return this.getFlavor().getOtherTypes();
- }
-
- public DataTypeIntf getNamedDataTypeIntf(String var1) {
- if (this.isKnownDisplay(var1)) {
- return this.createDataTypeFromDisplay(var1);
- } else {
- DataTypeDeclaration var2 = this.getNamedDataType(var1);
- return var2 == null ? null : var2.getDataType();
- }
- }
-
- public MetaPropHash getMetaPropHash() {
- return this.metaProps;
- }
-
- public void setShowErrors(boolean var1) {
- this.showErrors = var1;
- }
-
- public boolean getShowErrors() {
- return this.showErrors;
- }
-
- public boolean getPrintValidatedBy() {
- return this.printValidatedBy;
- }
-
- public void setPrintValidatedBy(boolean var1) {
- this.printValidatedBy = var1;
- }
- }
-